package com.cloudlead.commonData.query;

import static com.mysema.query.types.PathMetadataFactory.*;
import com.cloudlead.commonData.entity.EBaseCompanyUser;


import com.mysema.query.types.path.*;

import com.mysema.query.types.PathMetadata;
import javax.annotation.Generated;
import com.mysema.query.types.Path;

import com.mysema.query.sql.ColumnMetadata;
import java.sql.Types;

import com.mysema.query.sql.*;

import com.cloudlead.common.lang.annotation.Label;


/**
 * QBaseCompanyUser is a Querydsl query type for EBaseCompanyUser
 */
@Label("BaseCompanyUser查询")
@Generated("com.cloudlead.utils.persistence.codegen.serializer.SimpleMetaDataSerializer")
public class QBaseCompanyUser extends RelationalPathBase<EBaseCompanyUser> {

    private static final long serialVersionUID = -1786575218;

    public static final QBaseCompanyUser baseCompanyUser = new QBaseCompanyUser("base_company_user");

    public class PrimaryKeys {

        public final PrimaryKey<EBaseCompanyUser> primary = createPrimaryKey(id);

    }

    public class ForeignKeys {

        public final ForeignKey<com.cloudlead.commonData.entity.EBaseCompany> baseCompanyUserBaseCompanyFk = createForeignKey(baseCompanyId, "id");

    }

    public final StringPath baseCompanyId = createString("baseCompanyId");

    public final StringPath eMail = createString("eMail");

    public final StringPath flag = createString("flag");

    public final StringPath id = createString("id");

    public final NumberPath<Integer> isAdmin = createNumber("isAdmin", Integer.class);

    public final StringPath name = createString("name");

    public final StringPath password = createString("password");

    public final StringPath permission = createString("permission");

    public final StringPath phone = createString("phone");

    public final StringPath status = createString("status");

    public final StringPath userID = createString("userID");

    public final StringPath userName = createString("userName");

    public final StringPath weixinNamee = createString("weixinNamee");

    public final PrimaryKeys pk = new PrimaryKeys();

    public final ForeignKeys fk = new ForeignKeys();

    public QBaseCompanyUser(String variable) {
        super(EBaseCompanyUser.class, forVariable(variable), "null", "base_company_user");
        addMetadata();
    }

    public QBaseCompanyUser(String variable, String schema, String table) {
        super(EBaseCompanyUser.class, forVariable(variable), schema, table);
        addMetadata();
    }

    public QBaseCompanyUser(Path<? extends EBaseCompanyUser> path) {
        super(path.getType(), path.getMetadata(), "null", "base_company_user");
        addMetadata();
    }

    public QBaseCompanyUser(PathMetadata<?> metadata) {
        super(EBaseCompanyUser.class, metadata, "null", "base_company_user");
        addMetadata();
    }

    public void addMetadata() {
        addMetadata(baseCompanyId, ColumnMetadata.named("base_company_id").withIndex(12).ofType(Types.CHAR).withSize(24));
        addMetadata(eMail, ColumnMetadata.named("E-mail").withIndex(7).ofType(Types.VARCHAR).withSize(45));
        addMetadata(flag, ColumnMetadata.named("flag").withIndex(8).ofType(Types.VARCHAR).withSize(45));
        addMetadata(id, ColumnMetadata.named("id").withIndex(1).ofType(Types.CHAR).withSize(24).notNull());
        addMetadata(isAdmin, ColumnMetadata.named("isAdmin").withIndex(13).ofType(Types.INTEGER).withSize(10));
        addMetadata(name, ColumnMetadata.named("Name").withIndex(4).ofType(Types.VARCHAR).withSize(45));
        addMetadata(password, ColumnMetadata.named("Password").withIndex(5).ofType(Types.VARCHAR).withSize(45));
        addMetadata(permission, ColumnMetadata.named("Permission").withIndex(10).ofType(Types.VARCHAR).withSize(45));
        addMetadata(phone, ColumnMetadata.named("phone").withIndex(6).ofType(Types.VARCHAR).withSize(45));
        addMetadata(status, ColumnMetadata.named("Status").withIndex(11).ofType(Types.VARCHAR).withSize(45));
        addMetadata(userID, ColumnMetadata.named("User_ID").withIndex(2).ofType(Types.VARCHAR).withSize(45));
        addMetadata(userName, ColumnMetadata.named("userName").withIndex(3).ofType(Types.VARCHAR).withSize(45));
        addMetadata(weixinNamee, ColumnMetadata.named("weixinNamee").withIndex(9).ofType(Types.VARCHAR).withSize(45));
    }

}

